This invention relates to text processing and display systems. More particularly, it relates to CRT display systems used for text processing wherein a substantial block of alphanumeric data has to be maintained on the CRT display, e.g., a full page display system.
The preparation of modern business documents often involves typing and editing several drafts of the document before it is complete, correct, and presented in a format that is both readily understandable and aesthetically pleasing to the eye of the reader. The steps of preparing a final printed copy of a document often entail: (1) Typing a rough draft from raw data, dictation equipment, or notes; (2) deletions, insertions, rearrangement and corrections by an editor; (3) retyping, using the edited rough draft as a source of information; (4) reediting to insure correctness and to insure aesthetic perfection; (5) retyping as necessitated by step (4) reediting to insure correctness of the final copy.
As can be seen from the above, each time information is typed, it must be reread and perhaps edited to insure that it is correct, and each time that it is edited, it must be retyped. This process is extremely time consuming inasmuch as the secretary's time is lost in retyping while the editor's time is lost in reediting.
Several devices have been proposed and utilized which shorten the amount of time lost in retyping and reediting business documents. A traditional prior art approach has been to record the characters typed on a secondary medium such as a magnetic medium which is selectively utilized by the typist to control the typewriter so that it will automatically printout the information contained in the first draft together with any subsequent editing changes. In recent years this traditional approach is being replaced by text processing systems utilizing cathode ray tube (CRT) displays or like displays which display information keyed into the text processing system of an associated input terminal such as the keyboard. The input information is displayed and corrections to the displayed data may be made by the operator. Such corrections would of course include entry of new data, deletion of existing data, or insertion of new data.
Presently available self-contained text processing systems contain the control electronics required to effect data editing in the CRT display utilizing the keyboard. These text editing systems generally have their own bulk storage wherein the characters to be displayed are stored in some convenient form. Once the information content being displayed is believed to be correct, data in the bulk storage is transmitted to a central microprocessor which then controls the printout of the information on any standard printer.
In the development of a text processing art as described above, many of the basic operations involve in the output of data followed the traditional lines initiated with automated typewriters. For example, many of the operations such as tabulation and carrier return traditionally involve a considerable amount of calculation whenever a tabulation code or carrier return code is encountered in the operation of the equipment. When encountering a tab code, for example, the equipment would go through an often elaborate calculation to determine where the text tab position would be and would then consequently proceed to that position where printing would resume. Such a calculation would involve the scanning of some sort of tab position storage means, i.e., "tab" racks, as well as means for correlating such information with various margin data.
With the above described approach where characters were stored on a secondary medium such as a magnetic medium during editing, the output of edited copy such as a draft or final form on a printer or typewriter would present no problem since the calculation of tabulation data and carrier return data fit well within the operating speeds of the equipment, i.e., in the order of from 20 to 75 characters per second.
It should be noted that the above-described complex approaches involved in the calculation of tabulation and carrier return position came about out of a desire to make the interface between the operator and the machine as simple and straight forward as possible. To this end, the text processing field has tried to make operator input operations such as tab or carrier return as close as possible to the operator input used for almost a century in traditional typewriters. Thus, when the tab or carrier return functions are calculated, the operator of text processing system has to do a little more with respect to tabulation or carrier return function than in conventional tab or carrier return operator inputs in typewriters.
It therefore followed that when displays began to be used in connection with text processing equipment, it was considered to be highly advantageous from the operator's point of view to keep the tabulation and carrier return inputs required on the part of the operator as simple and as close as possible to the inputs in conventional typewriting equipment.
However, with text processing system having the simple conventional operator input for tab and carrier return functions, the code designations for tab or carrier return functions are embedded or buried in the stored stream of character data. Because of this, relatively time consuming calculations have to be made by the system in order to convert such tabulation and carrier return codes to positional data displayed on the CRT screen.
Unfortunately, with such display text processing equipment, the time factor began to play a critical part. It was found to be increasingly difficult even in small one to five line displays to carry out all the data processing operations necessary to form the alphanumeric display during each refresh cycle. In CRT displays in order to avoid flickering, the refresh rate must be in the order of 45 Hertz. This permits in the order of about 22 milliseconds for each refresh cycle. With the development of the display text processing art, the problem has been further increased by the demand in the field for full page displays which would of course require an even greater increase in the number of operations which would have to be carrid out during the 22 millisecond refresh cycle. The problem has been further compounded by the demand in the text processing field for proportionally spaced CRT displays to be compatible with systems in which the printed material is proportionally spaced, i.e., the alphanumeric characters have variable width. In such proportionally spaced systems instead of in the order of about 100 possible character positions per line of displays, there are over 750 possible escapement positions which have to be taken into account in carrying out the positional calculations for the displayed characters. This makes the data processing operations necessary to support each refresh cycle even more complex and time consuming.
One approach which has been used for minimizing data processing time during refresh cycles is to format a stored matrix of every possible character position on the CRT and to store at each character position sufficient data to identify the character or absence of character at that position together with any associated character attribute. While this approach has presented an acceptable solution to the refresh time needs and systems employing relatively small displays in the order from one to five lines, it is potentially very cumbersome and expensive in meeting the need for full page CRT text processing displays. The system requires in the order of one byte of data for each storage position, i.e., about 100.times.70 or in the order of 7000 bytes of data for a full page display.